/**
 * jims
 */
package com.jims.master.modules.finance.entity;

import com.jims.master.common.persistence.DataEntity;
import com.jims.master.modules.doctor.entity.PatVisit;
import com.jims.master.modules.doctor.entity.PatVisitIndex;
import com.jims.master.modules.sys.entity.User;
import org.hibernate.validator.constraints.Length;

import java.util.List;
/**
 * 结算主记录Entity
 * @author 赵宁
 * @version 2017-03-29
 */
public class InpSettleMaster extends DataEntity<InpSettleMaster> {
	
	private static final long serialVersionUID = 1L;
	private String patientId;		// 病人ID
	private String visitId;		// 住院ID
	private String rcptNo;		// 结算序号
	private Double costs;		// 总费用
	private Double charges;		// 应缴费用
	private Double payments;		// 实收费用
	private String transactType;		// 结算操作类型 1:正常 2：作废 ，3：退费
	private String refundedRcptNo;		// 退费收据号
	private String acctNo;		// 结账序号
	private String orgId;		// 机构ID
    private PatVisit patVisit;
    private PatVisitIndex patVisitIndex;//
	private List<InpSettleDetail> inpSettleDetailList;
	private List<InpPaymentsMoney> inpPaymentsMoneyList;
	private User user;
	private String  startTime;
	private String endTime;
    private String status;//医保传输状态 0未传输 1已传输



	public InpSettleMaster() {
		super();
	}

	public InpSettleMaster(String id){
		super(id);
	}

	@Length(min=1, max=64, message="病人ID长度必须介于 1 和 64 之间")
	public String getPatientId() {
		return patientId;
	}

	public void setPatientId(String patientId) {
		this.patientId = patientId;
	}
	
	@Length(min=1, max=64, message="住院ID长度必须介于 1 和 64 之间")
	public String getVisitId() {
		return visitId;
	}

	public void setVisitId(String visitId) {
		this.visitId = visitId;
	}
	
	@Length(min=1, max=100, message="结算序号长度必须介于 1 和 100 之间")
	public String getRcptNo() {
		return rcptNo;
	}

	public void setRcptNo(String rcptNo) {
		this.rcptNo = rcptNo;
	}

	public Double getCosts() {
		return costs;
	}

	public void setCosts(Double costs) {
		this.costs = costs;
	}

	public Double getCharges() {
		return charges;
	}

	public void setCharges(Double charges) {
		this.charges = charges;
	}

	public Double getPayments() {
		return payments;
	}

	public void setPayments(Double payments) {
		this.payments = payments;
	}

	@Length(min=1, max=1, message="结算操作类型长度必须介于 1 和 1 之间")
	public String getTransactType() {
		return transactType;
	}

	public void setTransactType(String transactType) {
		this.transactType = transactType;
	}
	
	@Length(min=0, max=100, message="退费收据号长度必须介于 0 和 100 之间")
	public String getRefundedRcptNo() {
		return refundedRcptNo;
	}

	public void setRefundedRcptNo(String refundedRcptNo) {
		this.refundedRcptNo = refundedRcptNo;
	}
	
	@Length(min=0, max=100, message="结账序号长度必须介于 0 和 100 之间")
	public String getAcctNo() {
		return acctNo;
	}

	public void setAcctNo(String acctNo) {
		this.acctNo = acctNo;
	}
	
	@Length(min=1, max=64, message="机构ID长度必须介于 1 和 64 之间")
	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public List<InpSettleDetail> getInpSettleDetailList() {
		return inpSettleDetailList;
	}

	public void setInpSettleDetailList(List<InpSettleDetail> inpSettleDetailList) {
		this.inpSettleDetailList = inpSettleDetailList;
	}

	public List<InpPaymentsMoney> getInpPaymentsMoneyList() {
		return inpPaymentsMoneyList;
	}

	public void setInpPaymentsMoneyList(List<InpPaymentsMoney> inpPaymentsMoneyList) {
		this.inpPaymentsMoneyList = inpPaymentsMoneyList;
	}

	public PatVisit getPatVisit() {
		return patVisit;
	}

	public void setPatVisit(PatVisit patVisit) {
		this.patVisit = patVisit;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

    public PatVisitIndex getPatVisitIndex() {
        return patVisitIndex;
    }

    public void setPatVisitIndex(PatVisitIndex patVisitIndex) {
        this.patVisitIndex = patVisitIndex;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}